                        Welcome to Delphi
                        -----------------

This README file contains important, last minute information
about Delphi and Delphi Client/Server. 

Before you install Delphi, carefully read INSTALL.TXT. 

In addition, there are separate README.TXT files in the 
RPTSMITH, IBLOCAL, IDAPI and DBD directories. Errata for the 
documentation can also be found in \DELPHI\DOC\MANUAL.TXT.

NOTE: All printed and online documentation assume that you
have installed Delphi using the default directory structure.

In addition to the noted README files, there are several text 
files in the \DELPHI\DOC directory that you should peruse. For 
a complete list of all files distributed with this package, see 
FILELIST.DOC located on the Delphi CD in the \INSTALL\DISK1 
directory, or on the DISK1 Delphi floppy disk.

IMPORTANT: For license information on deploying Delphi and Delphi
Client/Server applications and for a list of redistributable
files, refer to DEPLOY.TXT in the \DELPHI directory.

TABLE OF CONTENTS
-----------------
 1. Minimum system requirements
 2. How to get help
 3. Installation
 4. Product overview
 5. Delphi Supplemental Documentation Set
 6. Demonstration programs
 7. Release notes
 8. Problems fixed in this release

1. MINIMUM SYSTEM REQUIREMENTS
------------------------------
Delphi requires Windows 3.1 or a 100% compatible operating
system, an 80386 or newer processor (486 recommended), and 6Mb of
system memory (Delphi Client/Server requires 8Mb, 12Mb or more is
recommended for Client/Server development). A minimum
installation requires approximately 30Mb of disk space (a full
installation of Delphi Client/Server requires approximately
80Mb).

DCC.EXE, the DOS command-line compiler, requires at least 1Mb of
extended memory.

Delphi has been tested under Windows 3.1, Windows for Workgroups
3.11, Windows NT 3.5, OS/2 Warp, and Windows 95.


2. HOW TO GET HELP
------------------
If you have any problems with this product, please read this
file, the online documentation files in \DELPHI\DOC, the online
help files, and the Delphi manuals first. You will also find
Tech Info Sheets and answers to frequently-asked questions under
the \DELPHI\TECHINFO directory.

If you still have a question and need assistance, help is
available from the following sources:

1. You can use your modem or Internet connection to easily obtain
   assistance online.  Borland maintains support forums on
   CompuServe.  These forums put you in contact with thousands of
   other programmers using Borland products. You'll be able get
   your questions answered and share information and ideas with
   others.

   You can also download the latest technical information, sample
   code, utilities, patches, etc., from these online services as
   well as from Borland's Download Bulletin Board Service
   (DLBBS).

   Access Borland's online services in the following manner:

   CompuServe
     GO DELPHI

   World Wide Web
     The Delphi page (http://www.borland.com/TechInfo/Delphi)
     contains tips and techniques, the latest Delphi book list,
     links to other Delphi pages, newsgroups, and other
     references.

   Borland DLBBS
     You can reach the Borland DLBBS by dialing (408) 431-5096
     (up to 14,400 Baud, 8 data bits, No Parity, 1 Stop bit). No
     special setup is required.

2. TechFax is a toll-free, 24-hour automated service that sends
   free technical information to your fax machine. More than
   1,000 documents discussing Borland software are available
   through TechFax. These documents provide valuable technical
   reference information.

   You can obtain TechFax bulletins or documents by calling
   1-800-822-4269 from any touch tone telephone.

3. For information about installation, system configuration, and
   compatibility, call the Installation Hot Lines at (408)
   461-9195 from 6:00 am to 5:00 pm Pacific Time.

4. If you need assistance beyond product installation, Borland
   offers the Advisor Lines service where you can get advice on
   program design, debugging, and performance tuning. Advisor
   Lines operate from 6:00 am to 5:00 pm Pacific Time at
   1-900-555-1015. Each call is $2.00/minute, with the first
   minute free (available in U.S. only). If you wish to pay for
   this service using a credit card, call 1-800-330-3372.

When calling Borland's Technical Support, please keep your
manuals handy and have the program in question running. To
simplify trouble-shooting, be prepared to provide the following
information:

  o The specific steps necessary to reproduce the problem you
    are experiencing.

  o Computer name and model and the name and model of any
    additional hardware (video adapters, modems, etc.).

  o Operating system and DOS version number (to obtain the DOS
    version number, type VER at the command-line prompt). In
    Microsoft Windows, you can find the version number by
    selecting Help|About from Program Manager.

  o The contents of your AUTOEXEC.BAT and CONFIG.SYS files
    (located in the root directory your computer's boot
    drive).

  o The contents of your WIN.INI and SYSTEM.INI files (located in
    your \Windows directory).


3. INSTALLATION
---------------
Please refer to the file INSTALL.TXT on your CD in the
\INSTALL\DISK1 directory or on DISK1 of your floppy disk set
for complete installation instructions.

To start the installation, run the SETUP.EXE program on your CD
in the \INSTALL\DISK1 directory or on the floppy disk labeled
DISK1.


4. PRODUCT OVERVIEW
-------------------
Delphi's visual design environment lets you create sophisticated
Windows applications faster than any other development tool.
Because Delphi is built around an optimizing native-code
compiler, Delphi applications are up to 10-20 times faster than
interpreted code.

Delphi integrates the Borland Database Engine, so you have
instant support for dBase, Paradox, and ODBC local databases.

Delphi includes the Local InterBase Server so you can create
standalone client/server applications with a high-performance
ANSI SQL-92 compatible database server.

Delphi includes Borland's award-winning ReportSmith report
writing tool, which allows programmers to prepare innovative
reports using live data in all popular database formats.

Delphi Client/Server includes all of Delphi plus high performance
native drivers for Oracle, Sybase, Microsoft SQL Server, Informix
and InterBase remote servers with unlimited application
deployment. You also get team development support, ReportSmith
SQL, a Visual Query Builder, source code to the Visual Component
Library (VCL), and the Local InterBase Server Deployment Kit.

Delphi includes an Open Tools API capability that allows 
you to extend the Delphi environment to include your own tools, 
experts, and so on. By using this API, you can seamlessly
integrate these extensions into the Delphi environment.  For
details, refer to the file TOOLINTF.PAS located in the
\DELPHI\DOC for Delphi or in the \DELPHI\SOURCE\VCL directory for
Delphi Client/Server.  Source code for an example expert is also
located in \DELPHI\DEMOS\EXPERTS directory.


5. DELPHI SUPPLEMENTAL DOCUMENTATION SET
----------------------------------------
Online versions of the documents contained in the Delphi 
Supplemental Documentation Set have also been included with 
this release. These manuals are provided in the Adobe Acrobat 
file format, and they are located in the \MANUALS directory. The 
Supplemental Documentation Set includes the following:
   
  o Object Pascal Language Reference Guide 
    (objlang.pdf is 1.3M.)

  o Delphi Visual Component Library 
    Reference (vclref.pdf is 5.1M.)

In the United States, you can purchase hard copy versions of the
Delphi Supplemental Documentation Set by calling the Borland
order desk at 1-800-331-0877.

Internationally, you can purchase hard copy versions of the
Delphi Supplemental Documentation Set by contacting the nearest
Borland office.

NOTE: NT Users of Acrobat
-------------------------
Windows NT does not presently support Acrobat and ATM (Adobe Type
Manager) which is needed to run Acrobat. Adobe is working on an
NT version of ATM and Acrobat. You can check Adobe's Web Site for
the latest information on Acrobat. 

A workaround to this problem is to add the line:

ATMOption=1

to the [Abode Viewer] section of ACROREAD.INI. Then copy it to
ACROEXCH.INI (both files should be in your \winnt35 directory).
If you do not have ACROEXCH.INI, then copy acroread.ini and name
it acroexch.ini. Fonts may still show up incorrectly or poorly,
but you will still be able to run Acrobat. 


6. DEMONSTRATION PROGRAMS
-------------------------

Here's an overview of the example programs, libraries and
components located in the \DELPHI\DEMOS directory:

\DELPHI\DEMOS
  \DB - Contains all database sample projects. Data used by these
        examples is in the \DELPHI\DEMOS\DATA directory. The
        SETUP program creates a BDE alias called DBDEMOS which
        can be used to access this data. Refer to INSTALL.TXT for
        additional information. (DBG=Database Application
        Developer's Guide)

    \ANIMALS  - Uses TBlobField type to access dBASE data.
    \BDEDLL   - DLL that uses database components and a
                companion application.
    \CALCFLDS - Simple use of calculated fields with linked
                master/detail tables.
    \DATALIST - Dynamically retrieves lists of aliases, tables,
                fields and indexes.
    \DBAWARE1 - Simple use of TDBEdit, TDBListBox, TDBComboBox
                and TDBGrid.
    \DBAWARE2 - Simple use of TDBLookupCombo and TDBLookupList.
    \FISHFACT - Uses TBlobField and TMemoField to access
                Paradox data.
    \FORMAT   - Simple use of FormatDateTime and FormatFloat.
    \INSQUERY - Simple use TQuery to perform SQL insert.
    \LINKQRY  - Master/detail form using TQuery components.
    \MASTAPP  - Extensive example featured in Chapter 2, 4, and
                Appendix D of the Database Application
                Developer's Guide. Consists of 12 forms and comes
                with sample data for Paradox and Local InterBase
                Server. Uses ReportSmith to print invoice,
                inventory and customer data; includes online help
                that explains how the application is implemented;
                contains a sophisticated invoice form, and is
                fully scalable between desktop and Client/Server
                data. Refer to the comments at the beginning of
                MAIN.PAS for more complete information.
    \QJOIN    - Simple SQL join.
    \RANGE    - Simple use of TTable range support.
    \SEARCH   - Simple use of TTable.SetKey.
    \STOCKS   - Stock portfolio example that uses complex SQL
                joins, ReportSmith reports and the TChartFX
                sample VBX control.
    \TOOLS    - Two applications: an MDI database browser and a
                SQL Activity Monitor.
    \TWOFORMS - Simple example that shows how multiple forms
                can share a single dataset (DBG, Ch. 3).

  \DOC - Contains examples from the printed documentation
         (UG=User's Guide, CWG=Component Writer's Guide).

    \ABOUTBOX - AboutBox dialog (UG Ch. 2).
    \CALENDAR - TSampleCalendar component (CWG Ch. 11).
    \CBROWSE  - Uses TSampleCalendar (CWG Ch. 11).
    \DATAEDIT - Read/write data aware TCalendar (CWG Ch. 12).
    \DBCAL    - Read-only data aware TCalendar (CWG Ch. 12).
    \FILMANEX - File manager (UG, Ch. 13).
    \FORMCOMP - Encapsulates a form as a component (CWG, Ch. 13).
    \FORMDLL  - Encapsulates a form as a DLL (CWG, Ch. 13).
    \GRAPHEX  - Simple paint program (UG, Ch. 12).
    \OLE2     - MDI OLE2 container (UG, Ch. 15).
    \SHAPE    - TSampleShape component (CWG, Ch. 10).
    \TEXTEDIT - Simple MDI text editor (UG, Ch. 10).
    \WRAPMEMO - TWrapMemo component (CWG, Ch. 9).

  \CALLDLL    - A simple password form in a DLL and a test
                program that calls it.
  \DATA       - Contains all data used by sample programs. Note
                that the MASTAPP example defines referential
                integrity rules on the CUSTOMER, ORDERS, ITEMS
                and PARTS tables. These rules, which require that
                the master record be posted before a detail
                record may be posted, are defined in both the
                Paradox tables (.DB) the Local InterBase Server
                database (MASTSQL.GDB) versions of this data. If
                you write database applications that insert data
                into these tables and your insertions violate the
                referential integrity rules that are defined, a
                "Master Record Missing" exception will be raised.
  \DDEDEMO    - Uses DDE to create a group in Program Manager.
  \DRAGDROP   - Two projects that demonstrate drag and drop.
  \DYNAINST   - Dynamically creates components at run-time.
  \EXPERTS    - Source for the application and dialog experts
                (access via the Project and Form expert gallery
                pages).
  \FILECTRL   - Uses the file and directory controls.
  \GENERIC    - Object Pascal version of the "generic" SDK app.
  \IMAGVIEW   - Views and browses images (BMPs, WMFs, etc.).
  \OLE2       - Links and embeds OLE2 objects.
  \OWNERLST   - Uses an owner-draw listbox.
  \PAGECTRL   - Integrates the TNotebook and TTabSet components.
  \PROPEDIT   - Component with accompanying property editor.
  \SCRIBBLE   - A simple drawing program in only 3 lines of code.
  \TEXTDEMO   - Uses TFindDialog and TReplaceDialog components.
  \USERHELP   - Shows how to implement and register online help
                for a custom component.


7. RELEASE NOTES
----------------
Make sure you read \DELPHI\MANUALS.TXT for late-breaking
information and documentation errata. INSTALL.TXT contains
information about installation problems. Refer to INSTALL.TXT if
you're having problems connecting to an SQL database, printing a
ReportSmith report from a Delphi application, and so on.

ChartFX - This 3rd party sample component can be found with the
other VBX control examples on the Component Palette's VBX page.
Refer to the ChartFX interface file (\DELPHI\DOC\CHARTFX.INT) to
augment the online documentation. (Delphi Client/Server edition:
refer to \DELPHI\SOURCE\LIB\CHARTFX.PAS.) You can also find a
sample project that uses this component in the
\DELPHI\DEMOS\DB\STOCKS directory.

Interactive Tutors - We recommend that you run the tutors using
Delphi's default configuration. For more information, please see
the "Configuring Delphi for Interactive Tutors" topic in Delphi
Help. If you experience problems running the Interactive Tutors,
try closing other Windows applications to free up system memory.
Note that the Interactive Tutors are not available under Windows
NT 3.5.

COMPLIB.DCL - Whenever you rebuild the Delphi component library,
Delphi always copies the previous .DCL to a backup file named
COMPLIB.~DC. If a newly installed Delphi component causes an
error during initialization or you experience other difficulties
with COMPLIB.DCL when loading Delphi, you can restore the
previous version by exiting Windows and copying COMPLIB.~DC to
COMPLIB.DCL.

DATABASE NOTES
--------------
Closing ReportSmith Run-time from a Delphi application - When
ReportSmith run-time is loaded by a TReport component,
TReport.AutoUnload is False and your application is terminating,
you'll need to call TReport.CloseReport explicitly to unload
ReportSmith:

  procedure TForm1.FormClose(Sender: TObject;
    var Action: TCloseAction);
  begin
    Report1.CloseReport(False);
  end;

TTable.CreateTable - The TTable.CreateTable function does not
support the Paradox formatted memo field type.

Queries with BCD Parameters - (Paradox tables only) Substitution
parameters that are of type BCD should be bound using floating
point data types (not BCD).

Using Database components in a DLL - Certain restrictions apply
when a DLL uses database components. In particular, such a DLL
can only be used by one client at a time. It is the
responsibility of the DLL to prevent simultaneous access by
multiple applications. In addition, a DLL that uses database
components should provide startup and cleanup routines to ensure
safe initialization and shutdown. Refer to the
\DELPHI\DEMOS\DB\BDEDLL directory for an example of a DLL that
uses database components and a companion application.

SQL Database floating point precision - Servers that support a
single-precision floating point type typically offer only seven
significant digits. If no TField.DisplayFormat is specified and
the precision of the underlying field is less than 15 digits, you
should set the TField.Precision property accordingly.

Additional information about updateable SQL queries:
  o The online help on Syntax Requirements for a Live Result Set
    should state that ORDER BY clauses are allowed in updateable
    queries.
  o The online help on Syntax Requirements for a Live Result Set
    incorrectly states that a unique index must exist on Sybase
    servers. Only the original column values implied by the
    setting of TQuery.UpdateMode must be unique.
  o All Oracle column names are case sensitive (as if they were
    quoted explicitly). Oracle table names are never quoted (and
    thus must be uppercase).
  o Quoted columns must be prefixed with a table alias.
  o Tables owned by another user must be qualified by owner name.
    Use quotes around the entire qualified name, for example
    "OWNER.TABLE".

Dataset synchronization on SQL Databases - Whenever supported by
the server, Delphi supports inserts against updateable queries,
views, non-indexed Sybase and InterBase tables. However, a newly
inserted record is not present in the current cache (dataset)
when it is no longer the current record. The table must be
reopened or the query executed again to refresh the cache and
retrieve the inserted record.

Informix SQL Link - Due to Informix 4.x restrictions, only one
application instance can be connected to one server at a time. To
help circumvent this problem, we recommend that you set the
TDatabase.KeepConnections property to False when accessing
Informix databases. Close all active connections at design time
before running the application. Informix 5.X does not have this
limitation.

The Borland Database Engine (BDE) looks for the IDAPI.CFG
configuration file which contains driver and alias information
used by all BDE client applications. The SETUP program creates
and places a copy of IDAPI.CFG in the \IDAPI directory. We
recommending backing up your IDAPI.CFG file periodically. You can
also create a new one by copying from the IDAPI.CNF file in the
\RUNIMAGE\IDAPI directory on your CD-ROM (or, if you're
installing from floppy disks, from the indicated .PAK file listed
in FILELIST.DOC ), for example:

  copy D:\RUNIMAGE\IDAPI\IDAPI.CNF C:\IDAPI\IDAPI.CFG

Note that other .CNF files are provided as well and may be merged
using the BDECFG.EXE utility's merge facility. Once you've
created a new IDAPI.CFG file, you can use BDECFG.EXE to create
aliases and drivers. For example, assuming you've installed
Delphi on your C: drive, here's how to create the DBDEMOS alias
that is normally created by the SETUP program:

  1. Click on the Database Engine Configuration icon in the
     Delphi Program Manager group.
  2. Select the Alias page and click the New Alias button.
  3. Enter DBDEMOS and press the OK button.
  4. Click on the path in the Parameters entry box and specify
     C:\DELPHI\DEMOS\DATA
  5. Select File|Save

Now this alias is available to Delphi's data access components
(TTable, TQuery, etc.).

Systems Notes
-------------
Video Drivers - Some older versions of the Dell/Tseng ET4000
video driver, when operated in high-color modes, fail to properly
paint the multiselect rectangle while dragging. In addition, some
older ATI video drivers contain spurious INT 3 breakpoint
instructions which interfere with Windows debugging. If you
experience either of these problems, contact your vendor for an
updated driver.

Embedding or linking an Excel object - When embedding Excel in a
TOleContainer component, a known problem in Excel reduces its
scaling factor each time the object is activated.

DPMI utilities and other operating systems - DCC.EXE, the DOS
command-line compiler, and DLIB.EXE, the library utility for
DELPHI.DSL, both use DPMI services provided by RTM.EXE. RTM.EXE
requires at least 1Mb of extended memory. When running under
Windows NT 3.5, add the following line to your
\WINNT\SYSTEM32\CONFIG.NT file:

  ntcmdprompt

When running DCC or DLIB in an OS/2 DOS session, set DPMI_DOS_API
to Enabled.

Cannot Optimize EXE errors - When the Optimize EXE for size and
speed option is enabled on the Options|Project|Linker page, you
may encounter a "disk full" error during compilation. If this
error occurs and you have sufficient disk space, disable the
Linker page option and use the command-line utility instead:

  \delphi\bin\w8loss project1.exe

Program Reset - Windows support for debugging does not always
make it possible for Delphi to shutdown a running application and
recover all system resources that were allocated. When possible,
terminate your running application normally instead of using
Debug | Program Reset. This is especially important when an
exception has occurred in your application. If you do use Program
Reset, you may be bypassing some of your application's shutdown
code. You may need to periodically exit and then restart Windows
to recover resources which were allocated but not released.

CANNOT CREATE PROCESS Error - There are two possible causes for
this error.

  o Your application requires a DLL which cannot be located

  o Insufficient low DOS memory - Windows requires a minimum
    amount of conventional DOS memory in order to launch an
    application. If available conventional memory is insufficient
    when you try to run or debug an application, a CANNOT CREATE
    PROCESS error message will appear.

    Here's how you can increase the available DOS memory:

      o Exit all BDE client applications (e.g. Delphi), run the
        BDE Configuration utility (BDECFG.EXE), select the SYSTEM
        page and reduce or zero the "LOW MEMORY USAGE LIMIT"
        setting.

      o Modify your CONFIG.SYS and AUTOEXEC.BAT files to
        eliminate DOS TSRs or load them into "high memory".

      o Many Windows applications inadvertently use low memory.
        Closing other Windows applications will often free up a
        significant amount of low memory.

      o Some Windows video drivers use low memory. Make sure you
        have the latest drivers for best performance.

    IMPORTANT: This error should occur on very few systems and is
    generally due to problems with system configuration or other
    Windows software.


BP 7.0 Compatibility Notes
--------------------------
o Passing Borland Pascal 7.0 style object variables as arguments
  in an open array constructor is not supported.

o Don't use the Borland Pascal 7.0 Fail procedure with Delphi
  classes.

o Though we do not recommend using ObjectWindows and VCL units
  in the same application, by following these instructions, you
  can easily work on your Borland Pascal 7.0 Windows projects in
  the Delphi development environment:

  1. Open your program or library file as a project. Make sure
     there's a correct module header declaration (i.e. program,
     library or unit) at the beginning of the .PAS file.

  2. Change the Search Path on the Options|Project|Directories
     page to include \DELPHI\SOURCE\RTL70.

  3. Update the uses clause of each unit as follows:

     o For each unit that uses WinTypes, replace "WinTypes" with
       "Messages, WinTypes"
     o Remove all references to the Win31 unit


8. PROBLEMS FIXED IN THIS RELEASE
---------------------------------

The purpose of this section is to provide a general list of
problems that are fixed in this Delphi release.

ReportSmith
-----------
o Please refer to the ReportSmith READRS.TXT file for a list of
  fixed problems.

Delphi
------
o Fixed problems in the Delphi online help system.

o Improved compatibility with Windows 95 for MDI (e.g., new
  child) and OLE2 (e.g., insert object).

o IDE debugger compatibility fix for Windows NT.

o Fixed MDI design-mode problem when minimizing MDI Child window.

o Major changes to OLE2 API unit (see \DELPHI\DOC\OLE2.INT).

o Fixed unit version problem in DLIB.EXE.

o Fixed problem in Browser when you double-click a reference to
  a .PAS file that is not already open in the editor.

o Fixed Options|Rebuild Library problem when the current project
  has an active Dataset.

o Fixed Alt+Tab problem in Grid control.

o Fixed DBGrid to allow cancel of SetKey mode.

o TForm.DefineProperty now calls its inherited method.

o Support for owner draw in TOutline.

o DBImage.CutToClipboard now correctly updates the clipboard.

o In TDataSource.OnDataChange, fixed invalid pointer in the
  Field Parameter.

o Fixed various demo problems.

Local InterBase
---------------
o Improved performance of index creation and SQL request
  involving sort operations on data that exceeds the database
  cache as defined during database create.

o Improved I/O diagnostic and error messages from the server.

o Enhanced the Local InterBase engine to handle complex requests 
  that reference more than 500 columns causing internal buffers
  to exceed 64k. 

o Improved performance of Local InterBase requests that reference
  more than 500 columns.

o Removed the Local InterBase internal requirement that databases
  have a page size of 1024.  It is now possible to create and use
  a Database specifying any allowable InterBase page size. 

o Numeric overflow errors are now trapped by Local InterBase and 
  reported correctly to the client application.

o Fixed the incompatibility when using DashBoard, from Starfish
  Inc., and viewing users in the InterBase security database 
  (Task|User Security) with the InterBase Server Manager tool.

o Fixed cleanup problems encountered when exiting the Windows
  Interactive SQL tool while executing a database validate
  (Task|Database Validate) in the InterBase Server Manager.

BDE
---

This version of the Borland Database Engine is the same version
that is used with the new Visual dBase 5.5.

o Fixed TQuery and TTable so that they support Oracle synonyms. 
  Synonyms can now be viewed by typing its name in the name 
  table property.

o Editing now supported of an opened Paradox table simultaneously
  in Delphi with referential integrity constraints.

o Fixed the ability to support Stored Procedures that have string
  parameters.

o Fixed problems relating to accessing tables on Lantastic 6.0
  network.

o Removed the nine parameter limitation for SQL queries.

o Fixed problems relating to opening Access 2.0 files through
  ODBC.

o Fixed DBD so that it is now able to open Watcom 4.0 tables.

o Fixed 32K memory leak associated with live-query results sets
  and also for local queries involving joins.

o Fixed problem moving batch from ASCII fixed-length files.

o Now supports the Sybase forcedindex feature.

o Added support for Informix 5.X.

-----------------------------------------------------------------
